Add jetpack javascript engine#3
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... 📒 Files selected for processing (5)
WalkthroughReplaces the QuickJS native integration with AndroidX JavaScriptSandbox: removes QuickJS C/C++ sources, build scripts, tests, and FFI; adds Kotlin platform API and Flutter message-channel wiring; updates Android Gradle to use androidx.javascriptengine; and introduces example app refactors and logging plus minor lint change. Changes
Sequence Diagram(s)sequenceDiagram
participant Dart as Flutter (Dart)
participant Chan as BinaryMessenger (BasicMessageChannel)
participant API as JavaScriptAndroidPlatformApi
participant Impl as JavaScriptAndroid (Kotlin)
participant SB as JavaScriptSandbox
participant ISO as JavaScriptIsolate
Dart->>Chan: startJavaScriptEngine(id)
Chan->>API: startJavaScriptEngine(id)
API->>Impl: startJavaScriptEngine(id, callback)
Impl->>SB: createConnectedInstanceAsync()
SB-->>Impl: Future completes (sandbox)
Impl->>SB: createIsolate(params)
Impl-->>API: callback(success)
Dart->>Chan: runJavaScriptReturningResult(id, code)
Chan->>API: runJavaScriptReturningResult(id, code)
API->>Impl: runJavaScriptReturningResult(id, code, callback)
Impl->>ISO: evaluateAsync(code)
ISO-->>Impl: result / exception
Impl-->>API: callback(result/error)
API-->>Chan: reply (wrapped result/error)
Chan-->>Dart: deliver response
Dart->>Chan: dispose(id)
Chan->>API: dispose(id)
API->>Impl: dispose(id, callback)
Impl->>ISO: close()
Impl-->>API: callback(success)
Estimated code review effort🎯 5 (Critical) | ⏱️ ~90 minutes Poem
Tip CodeRabbit can scan for known vulnerabilities in your dependencies using OSV Scanner.OSV Scanner will automatically detect and report security vulnerabilities in your project's dependencies. No additional configuration is required. Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Description
Type of Change
Summary by CodeRabbit
New Features
Refactor
Chores
Example